'use strict';

const ArraysUtils = {
    /**
     * 判断数组是否为空
     *
     * @param array
     * @returns {boolean}
     */
    isNotEmpty: function (array) {
        if (array === null || array === undefined) {
            return false;
        }

        if (!Array.isArray(array)) {
            return false;
        }

        return array.length !== 0;
    },
    /**
     * 判断数组是否为空
     *
     * @param array
     * @returns {boolean}
     */
    isEmpty: function (array) {
        return !this.isNotEmpty(array);
    },

    /**
     * 判断数组a是否包含数组b
     *
     * @param a 数组
     * @param b 数组
     * @returns {boolean}
     */
    isContained: (a, b) => {
        // a，b其中质疑不是数组，直接返回false
        if (!(a instanceof Array) || !(b instanceof Array)) return false;

        // a的长度小于b的长度，直接返回false
        if (a.length < b.length) return false;

        let aStr = a.toString();
        for (let i = 0, len = b.length; i < len; i++) {
            if (aStr.indexOf(b[i]) === -1) return false;
        }

        return true;
    }

};

module.exports = ArraysUtils;